/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.afcepf.projet2.metiers.donnees.assembleur.commandes;

import fr.afcepf.projet2.metiers.donnees.dto.commandes.EtatCommandeDto;
import fr.afcepf.projet2.metiers.donnees.entites.commandes.EtatCommande;
import java.util.ArrayList;
import java.util.List;

/**
 * Classe permettant l'assemblage des donnes DTO <-> ENTITES EtatCommande
 *
 * @author Wahida
 */
public class EtatCommandeAssembleur {
    
     /**
     *Convertit une entité EtatCommande en DTO correspondant
     *
     * @param etatCommande Entity de type EtatCommande
     * @return dto de type EtatCommande
     */
        public static EtatCommandeDto creationEtatCommandeDto(EtatCommande etatCommande) {
            EtatCommandeDto etatCommandeDto = new EtatCommandeDto();
            etatCommandeDto.setEtatCommande(etatCommande.getEtatCommande());
            etatCommandeDto.setIdEtatCommande(etatCommande.getIdEtatCommande());
            return etatCommandeDto;
    }

    /**
     * Convertit une liste d'entités EtatCommande en liste de DTO correspondants
     *
     * @param listeEtatCommande liste d'entités à convertir
     * @return liste de DTOs EtatCommande convertis
     */
        public static List<EtatCommandeDto> creationEtatCommandeDto(List<EtatCommande> listeEtatCommande) {
            List<EtatCommandeDto> listeEtatCommandeDto = new ArrayList<>();
            for(EtatCommande etatCommande : listeEtatCommande){
                EtatCommandeDto etatCommandeDto = creationEtatCommandeDto(etatCommande);
                listeEtatCommandeDto.add(etatCommandeDto);
            }
            return listeEtatCommandeDto;
    }

     /**
     * Convertis un DTO EtatCommande en entité correspondante
     *
     * @param etatCommandeDto Entité à convertir
     * @return Entité EtatCommande correspondant
     */    
    public static EtatCommande updateEtatCommande(EtatCommandeDto etatCommandeDto) {
        EtatCommande etatCommande = new EtatCommande();
        etatCommande.setEtatCommande(etatCommandeDto.getEtatCommande());
        etatCommande.setIdEtatCommande(etatCommandeDto.getIdEtatCommande());
        return etatCommande;
    }

    /**
     * Convertit une liste de DTO EtatCommande en entités correspondantes
     *
     * @param listeEtatCommandeDto liste de DTOs à convertir
     * @return liste d'entités EtatCommande converties
     */
    public static List<EtatCommande> updateEtatCommande(List<EtatCommandeDto> listeEtatCommandeDto) {
        List<EtatCommande> listeEtatCommande = new ArrayList<>();
        for(EtatCommandeDto etatCommandeDto : listeEtatCommandeDto){
            EtatCommande etatCommande = updateEtatCommande(etatCommandeDto);
            listeEtatCommande.add(etatCommande);
        }
        return listeEtatCommande;
    }
}
